package com.blog.service.content;

import com.blog.dto.cond.ContentCondition;
import com.blog.model.Content;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 文章服务层的业务层接口
 *
 * @author wmb
 *
 * @date 2020-2-8
 */
public interface ContentService {

    /**
     * 根据条件获取文章列表
     *
     * @param contentCondition
     * @param pageNum
     * @param pageSize
     *
     * @return
     */
    PageInfo<Content> getArticlesByCond(ContentCondition contentCondition, Integer pageNum, Integer pageSize);

    /**
     * 添加文章
     *
     * @param content
     *
     * @return
     */
    void addArticle(Content content);

    /**
     * 更新文章
     *
     * @param content
     *
     * @return
     */
    void updateArticleById(Content content);

    /**
     * 根据编号获取文章
     *
     * @param cid
     *
     * @return
     */
    Content getArticleById(@Param("cid") Integer cid);

    /**
     * 根据编号删除文章
     *
     * @param cid
     *
     * @return
     */
    void deleteArticleById(@Param("cid") Integer cid);

    /**
     * 添加文章点击量
     *
     * @param content
     */
    void updateArticleByCid(Content content);

    /**
     * 更新分类
     *
     * @param ordinal
     * @param newCategory
     */
    void updateCategory(String ordinal, String newCategory);
}
